<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>String类型</title>
	</head>
	<body>
		<script type="text/javascript">
			/* 
				String类型
					1、String类型属于原始类型（基本数据类型）
					2、在JS中怎么定义字符串，包括两种方式：
						var s = "字符串";
						var s = '字符串';
						var s = new String("字符串");
					3、在JS当中提供了创建字符串的两种方式：
						如果采用这种方式创建的字符串就属于原始类型！
							var s = "hello";
						如果采用这种方式创建的字符串就属于Object类型，这里使用了Object类的子类String，String类是JS内置的，可以直接使用：
							var s = new String("hello");
					4、在JS中不管是原始类型的字符串，还是Object类型的字符串，他们的方法和属性都是通用的。
					5、String当中的常用属性和方法：
						常用属性：
							length属性，获取字符串长度
						常用方法：
							charAt 方法 获取指定下标位置的字符
							concat 方法 连接字符串
							indexOf 方法 获取某个字符串在当前字符串中第一次出现处的索引
							lastIndexOf 方法 获取某个字符串在当前字符串中最后一次出现处的索引
							replace 方法 替换
							split 方法  拆分字符串
							substr 方法  截取字符串
							substring 方法  截取字符串
							toLowerCase 方法 转小写
							toUpperCase 方法 转大写
			 */
			var s1 = "abc";
			console.log(typeof s1) // "string"
			
			var s2 = new String("hello");
			console.log(typeof s2) //"object"
			
			console.log("abcdef".length) //6
			console.log("http://www.baidu.com".charAt(3)) //p
			console.log("abc".concat("def")) //abcdef
			console.log("username=zhangsan&password=123".indexOf("=")) // 8
			console.log("username=zhangsan&password=123".lastIndexOf("=")) //26
			console.log("1980-10-11".replace("-",",")) //1980,10-11 (替换所有需要使用正则表达式)
			
			// 拆分字符串返回一个数组.
			var arr = "1980-11-12".split("-"); // var[] arr; 这是错误的,没有这种语法在JS当中.
			// 遍历数组
			for(var i = 0; i < arr.length; i++){ // arr.length是数组中元素的个数!
				console.log(arr[i]) // 还是使用中括号的方式加下标的方式访问数组中的元素.
			}
			
			// 对于substr和substring来说,只有1个参数的话没有区别.
			console.log("abcdef".substr(2)) //cdef
			console.log("abcdef".substring(2)) //cdef
			
			// 对于substr和substring来说,都有两个参数会有什么区别？
			// substr(startIndex, length)
			// substring(startIndex, endIndex),需要注意,不包括endIndex
			console.log("abcdef".substr(2,3)) //cde
			console.log("abcdef".substring(2,3)) //c
			
			console.log("ABCdef".toLowerCase()) //abcdef
			console.log("ABCdef".toUpperCase()) //ABCDEF
			
		</script>
	</body>
</html>
